package com.alibaba.citrus.ots.unified.inventory.dto.api.response;

import com.alibaba.citrus.ots.unified.inventory.dto.api.request.BaseDTO;
import com.alibaba.cz.base.tool.converter.simple.B;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * @author heyu
 * @description 调拨详情对象
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class AllocateApplyOrderDetailDTO extends BaseDTO {
    /**
     * id
     */
    private Long id;

    /**
     * 预调拨单编码
     */
    private String code;
    /**
     * 外部单据号
     */
    private String outAllocateApplyOrderId;
    /**
     * 借货调拨单号
     */
    private String borrowGoodsTransfer0rderCode;
    /**
     * 调拨类型
     */
    private String type;
    /**
     * 调拨类型名称
     */
    private String typeName;
    /**
     * 是否直发客户
     */
    private Boolean isDTC;
    /**
     * 提报组织id
     */
    private Long applyOrg;
    /**
     * 货品组
     */
    private Integer goodsGroup;

    /**
     * 收货仓库
     */
    private String receiveWarehouseId;
    /**
     * 备注
     */
    private String remark;

    /**
     * 单据原因
     */
    private String documentReason;

    /**
     * 单据原因名称
     */
    private String documentReasonName;

    /**
     * 期望交货时间
     */
    private Date hopeDeliveryTime;

    /**
     * 单据日期
     */
    private String orderTime;

    /**
     * 生效日期
     */
    private Date takeEffectTime;
    /**
     * 生效至
     */
    private Date invalidDate;
    /**
     * 创建人
     */
    private String creator;
    /**
     * 创建时间
     */
    private Date gmtCreate;

    /**
     * 客户
     */
    private String customer;

    /**
     * 客户地址
     */
    private String customerAddress;

    /**
     * 客户地址名称
     */
    private String customerAddressName;

    /**
     * 发货仓库
     */
    private String shipWarehouse;
    /**
     * 发货仓库id
     */
    private String shipWarehouseId;

    /**
     * 运输方式
     */
    private String shipMethod;

    /**
     * 运输方式名称
     */
    private String shipMethodName;


    /**
     * 总部内部售达方编号
     */
    private String sapInternalSalesBPCode;

    /**
     * 总部内部送达方编号
     */
    private String sapInternalDeliveryBPCode;

    /**
     * 总部售达方编号
     */
    private String sapSalesBPCode;

    /**
     * 总部送达方编号
     */
    private String sapDeliveryBPCode;

    /**
     * 总部成本中心
     */
    private String sapCostCenter;
    /**
     * 客户采购参考号
     */
    private String sapRefPoNo;

    /**
     * 总部渠道编码
     */
    private String headquartersChannelCode;

    /**
     * 总部组织编码
     */
    private String headquartersOrganizationCode;

    /**
     * 单据状态
     */
    private int status;
    /**
     * 货品详情
     */
    private List<AllocateApplyOrderGoodsDetailDTO> list;

    /**
     * 关联单据
     */
    private List<AllocateApplyOrderRelationDTO> relationList;

}
